<head><meta charset="UTF-8"></head><h2 class="heading">感谢</h2>
<p>我不生产知识，只是知识的搬运工。写作本小册的时间主要用在了两个方面：</p>
<ul>
<li>
<p>搞清楚事情的本质是什么。</p>
<p>这个过程就是研究源码、书籍和资料。</p>
</li>
<li>
<p>如何把我已经知道的知识表达出来。</p>
<p>这个过程就是我不停的在地上走过来走过去，梳理知识结构，斟酌用词用句，不停的将已经写好的文章推倒重来，只是想给大家一个不错的用户体验。</p>
</li>
</ul>
<p>这两个方面用的时间基本上是一半一半吧，在搞清楚事情的本质是什么阶段，除了直接阅读<code>MySQL</code>的源码之外，查看参考资料也是一种比较偷懒的学习方式。本书只是<code>MySQL</code>进阶的一个入门，想了解更多关于<code>MySQL</code>的知识，大家可以从下边这些资料里找点灵感。</p>
<h3 class="heading">一些链接</h3>
<ul>
<li>
<p>MySQL官方文档：<a target="_blank" href="https://dev.mysql.com/doc/refman/5.7/en/">https://dev.mysql.com/doc/refman/5.7/en/</a></p>
<p><code>MySQL</code>官方文档是写作本书时参考最多的一个资料。说实话，文档写的非常通俗易懂，唯一的缺点就是太长了，导致大家看的时候无从下手。</p>
</li>
<li>
<p>MySQL Internals Manual：<a target="_blank" href="https://dev.mysql.com/doc/internals/en/">https://dev.mysql.com/doc/internals/en/</a></p>
<p>介绍MySQL如何实现各种功能的文档，写的比较好，但是太少了，有很多章节直接跳过了。</p>
</li>
<li>
<p>何登成的github：<a target="_blank" href="https://github.com/hedengcheng/tech">https://github.com/hedengcheng/tech</a></p>
<p>登博的博客非常好，对事务、优化这讨论的细节也非常多，不过由于大多是PPT结构，字太少，对上下文不清楚的同学可能会一脸懵逼。</p>
</li>
<li>
<p>orczhou的博客：<a target="_blank" href="http://www.orczhou.com/">http://www.orczhou.com/</a></p>
</li>
<li>
<p>Jeremy Cole的博客：<a target="_blank" href="https://blog.jcole.us/innodb/">https://blog.jcole.us/innodb/</a></p>
<p>Jeremy Cole大神不仅写作了<code>innodb_ruby</code>这个非常棒的解析<code>InnoDB</code>存储结构的工具，还对这些存储结构写了一系列的博客，在我几乎要放弃深入研究表空间结构的时候，是他老人家的博客把我又从深渊里拉了回来。</p>
</li>
<li>
<p>那海蓝蓝（李海翔）的博客：<a target="_blank" href="https://blog.csdn.net/fly2nn">https://blog.csdn.net/fly2nn</a></p>
</li>
<li>
<p>taobao月报：<a target="_blank" href="http://mysql.taobao.org/monthly/">http://mysql.taobao.org/monthly/</a></p>
<p>因为MySQL的源码非常多，经常让大家无从下手，而taobao月报就是一个非常好的源码阅读指南。</p>
<blockquote class="warning"><p>吐槽一下，这个taobao月报也只能当作源码阅读指南看，如果真的不看源码光看月报，那只能当作天书看，十有八九被绕进去出不来了。
</p></blockquote></li>
<li>
<p>MySQL Server Blog：<a target="_blank" href="http://mysqlserverteam.com/">http://mysqlserverteam.com/</a></p>
<p>MySQL team的博客，一手资料，在我不知道看什么的时候给了很多启示。</p>
</li>
<li>
<p>mysql_lover的博客：<a target="_blank" href="https://blog.csdn.net/mysql_lover/">https://blog.csdn.net/mysql_lover/</a></p>
</li>
<li>
<p>Jørgen's point of view：<a target="_blank" href="https://jorgenloland.blogspot.com/">https://jorgenloland.blogspot.com/</a></p>
</li>
<li>
<p>mariadb的关于查询优化的文档：<a target="_blank" href="https://mariadb.com/kb/en/library/query-optimizations/">https://mariadb.com/kb/en/library/query-optimizations/</a></p>
<p>不得不说mariadb的文档相比MySQL的来说就非常有艺术性了（里边儿有很多漂亮的插图），我很怀疑MySQL文档是程序员直接写的，mariadb的文档是产品经理写的。当我们想研究某个功能的原理，在MySQL文档干巴巴的说明中找不到头脑时，可以参考一下mariadb娓娓道来的风格。</p>
</li>
<li>
<p>Reconstructing Data Manipulation Queries from Redo Logs：<a target="_blank" href="https://www.sba-research.org/wp-content/uploads/publications/WSDF2012_InnoDB.pdf">https://www.sba-research.org/wp-content/uploads/publications/WSDF2012_InnoDB.pdf</a></p>
</li>
<li>
<p>关于InnoDB事务的一个PPT：<a target="_blank" href="https://mariadb.org/wp-content/uploads/2018/02/Deep-Dive_-InnoDB-Transactions-and-Write-Paths.pdf">https://mariadb.org/wp-content/uploads/2018/02/Deep-Dive_-InnoDB-Transactions-and-Write-Paths.pdf</a></p>
</li>
<li>
<p>非官方优化文档：<a target="_blank" href="http://www.unofficialmysqlguide.com/optimizer-trace.html">http://www.unofficialmysqlguide.com/optimizer-trace.html</a></p>
<p>这个文档非常好，非常非常好～</p>
</li>
<li>
<p>MySQL8.0的源码文档：<a target="_blank" href="https://dev.mysql.com/doc/dev/mysql-server">https://dev.mysql.com/doc/dev/mysql-server</a></p>
</li>
</ul>
<h3 class="heading">一些书籍</h3>
<ul>
<li>
<p>《数据库查询优化器的艺术》李海翔著</p>
<p>大家可以把这本书当作源码观看指南来看，不过讲的是5.6的源码，5.7里重构了一些，不过大体的思路还是可以参考的。</p>
</li>
<li>
<p>《MySQL运维内参》周彦伟、王竹峰、强昌金著</p>
<p>内参里有许多代码细节，是一个阅读源码的比较好的指南。</p>
</li>
<li>
<p>《Effective MySQL：Optimizing SQL Statements》Ronald Bradford著</p>
<p>小册子，可以一口气看完，对了解MySQL查询优化的大概内容还是有些好处滴。</p>
</li>
<li>
<p>《高性能MySQL》瓦茨 (Baron Schwartz) / 扎伊采夫 (Peter Zaitsev) / 特卡琴科 (Vadim Tkachenko) 著</p>
<p>经典，对于第三版的内容来说，如果把第2章和第3章的内容放到最后就更好了。不过作者更愿意把MySQL当作一个黑盒去讲述，主要是说明了如何更好的使用MySQL这个软件，这一点从第二版向第三版的转变上就可以看出来，第二版中涉及的许多的底层细节都在第三版中移除了。总而言之它是MySQL进阶的一个非常好的入门读物。</p>
</li>
<li>
<p>《数据库事务处理的艺术》李海翔著</p>
<p>同《数据库查询优化器的艺术》。</p>
</li>
<li>
<p>《MySQL技术内幕 : InnoDB存储引擎 第2版》姜承尧著</p>
<p>学习MySQL内核进阶阅读的第一本书。</p>
</li>
<li>
<p>《MySQL技术内幕 第5版》 Paul DuBois 著</p>
<p>这本书是对于MySQL使用层面的一个非常详细的介绍，也就是说它并不涉及MySQL的任何内核原理，甚至连索引结构都懒得讲。像是一个老妈子在给你不停的唠叨吃饭怎么吃，喝水怎么喝，怎么上厕所的各种絮叨。整体风格比较像MySQL的官方文档，如果有想从使用层面从头了解MySQL的同学可以尝试的看看。</p>
</li>
<li>
<p>《数据库系统概念》（美）Abraham Silberschatz / （美）Henry F.Korth / （美）S.Sudarshan 著</p>
<p>这本书对于入门数据库原理来说非常好，不过看起来学术气味比较大一些，毕竟是一本正经的教科书，里边有不少的公式啥的。</p>
</li>
<li>
<p>《事务处理 概念与技术》Jim Gray / Andreas Reuter 著</p>
<p>这本书只是象征性的看了1～5章，说实话看不太懂，总是get不到作者要表达的点。不过听说业界非常推崇这本书，而恰巧我也看过一点，就写上了，有兴趣的同学可以去看看。</p>
</li>
</ul>
<h3 class="heading">说点不好的</h3>
<p>上边尽说这些参考资料如何如何好了，主要是因为在我写作过程中的确参考到了，没有这些资料可能三五年都无法把小册写完。但是除了MySQL的文档以及《高性能MySQL》、《Effectiv MySQL：Optimizing SQL Statements》这两本书之外，其余的资料在大部分时间都是看的我头晕眼花，四肢乏力，不看个十遍八遍基本无法理清楚作者想要表达的点，这也是我写本小册的初衷---<span style="color:red">让天下没有难学的知识</span>。</p>
<h3 class="heading">结语</h3>
<p>希望这是各位2019年最爽的一次知识付费，如果各位因为阅读本小册而顺利通过面试，或者解决了工作中的很多技术问题，觉得29.9实在是太物超所值，希望各位能来给点打赏（本人很穷，靠救济生活～ 添加好友可以问关于小册的问题，不过希望不要扯犊子聊八卦了，我其实挺忙的～ 微信号：xiaohaizi4919）。</p>
<blockquote class="warning"><p>小贴士：

请允许我鄙视一下那些打着知识付费骗钱的人，除了不生产一点社会价值外，反而生产了数不清的焦虑，让人们连幸福感都丧失掉了。也请各位警惕那些说只要你交几百块钱，就能得到诸如境界上的提升、开阔了眼界、追赶上行业发展趋势之类的课程/知识付费，这类抽象而无法验证的主题都是骗人的。
</p></blockquote><p></p><figure><img src="https://user-gold-cdn.xitu.io/2019/3/4/1694882249cbc9e2?w=430&amp;h=430&amp;f=jpeg&amp;s=41122"><figcaption></figcaption></figure><p></p>
